利用generator输出杨辉三角
特点
杨辉三角的特点在于从第一行只包含一个1以外,下面的每行两端都是1,中间数字为上一行的两个相邻数字之和;python的生成器是利用循环生成需要的元素,区别于列表生成式(在初始时创建),因此将杨辉三角具备的特点利用生成器表示出来。
实现
def triangles():
L = [1] #第一行
yield L
while True:
#从第二行开始利用杨辉三角定义进行每行的构建
L = [1] + [L[x]+L[x+1] for x in range(len(L)-1)] + [1]
yield L
n=0
for L in triangles():
print(L)
n = n+1
if n == 15: #输出十五行
break